using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace Cuestionarios.BaseDatos.Models.Mapping
{
    public class CuestionarioMap : EntityTypeConfiguration<Cuestionario>
    {
        public CuestionarioMap()
        {
            // Primary Key
            this.HasKey(t => t.IdCuestionario);

            // Properties
            this.Property(t => t.Descripcion)
                .IsRequired()
                .HasMaxLength(300);

            this.Property(t => t.CodigoArea)
                .IsRequired()
                .HasMaxLength(3);

            this.Property(t => t.Estado)
                .IsRequired()
                .HasMaxLength(20);

            // Table & Column Mappings
            this.ToTable("Cuestionario");
            this.Property(t => t.IdCuestionario).HasColumnName("IdCuestionario");
            this.Property(t => t.Descripcion).HasColumnName("Descripcion");
            this.Property(t => t.FechaCreacion).HasColumnName("FechaCreacion");
            this.Property(t => t.CodigoArea).HasColumnName("CodigoArea");
            this.Property(t => t.Estado).HasColumnName("Estado");
            this.Property(t => t.NumeroPreguntas).HasColumnName("NumeroPreguntas");
            this.Property(t => t.CalificacionMaxima).HasColumnName("CalificacionMaxima");
            this.Property(t => t.CalificacionMinima).HasColumnName("CalificacionMinima");
            this.Property(t => t.IdDocente).HasColumnName("IdDocente");
        }
    }
}
